#ifndef _BUILTINCLASS_HPP
#define _BUILTINCLASS_HPP

#include <string>
#include "Object.hpp"
#include "Type.hpp"
#include <functional>
#include <vector>
#include <map>

namespace object {
	class BuiltinClass : public Object {
	public:
		BuiltinClass() {}

		virtual string Type() override {
			return BUILTIN_CLASS;
		}

		virtual string examine() override {
			return "builtin_class";
		}

		virtual ~BuiltinClass() {}

	public:
		std::map<std::string, std::function<Object* (std::vector<Object*>)>> _funcs;
	};
}


#endif // !_BOOLEAN_HPP
